home *** CD-ROM | disk | FTP | other *** search
- (******************************************************************************)
- (* This MODULE is Public Domain. Copy me like a beast! *)
- (* Christian Ledermann *)
- (* Wölfelkofen 2 *)
- (* 84166 Adlkofen *)
- (******************************************************************************)
- (* *)
- (* Started: 20.12.92 03:54:30 *)
- (* Version: 20.12.89 01:564:12:54 *)
- (* *)
- (******************************************************************************)
- (* *)
- (* Diese Software ist ohne jede Garantie. Ich verspreche *)
- (* keinerlei Wartung und übernehme keine Verantwortung für Schäden die *)
- (* durch die Benutzung dieses Programmes entstehen. *)
- (* Jegliche Ersatzansprüche lehne ich ab. *)
- (* *)
- (******************************************************************************)
- MODULE BierKasse;
- (* Version*: 20.12.89 00:49*)
- (**************************************************************************)
- (* MODULE BierKasse. *)
- (* Christian Ledermann 3/93 *)
- (* *)
- (* *)
- (**************************************************************************)
- FROM SYSTEM IMPORT ADR,ADDRESS;
- FROM KbdEvnt IMPORT MenuSearch;
- FROM BierMenue IMPORT MenueEreignis,InitPreferences;
- FROM BlRscInc IMPORT MENUE,EDIT;
- FROM PreisErfassung IMPORT GetDate;
- FROM KassenStand IMPORT BierListeLaden;
- FROM EdiereBierListe IMPORT BierListe;
- FROM Bliste IMPORT KillList;
-
- FROM AES IMPORT ApplInitialise,ApplExit,ResourceLoad,ResourceGetAddr,MenuBar,
- GrafMouse,EventMultiple,ResourceFree,ShellRead,MenuItemEnable,GrafHandle,
- FormDialogue;
- FROM GEMAESbase IMPORT Arrow,HourGlass,FormStart,FormFinish,MenuSelected,
- MesageEvent,TimerEvent,KeyboardEvent;
- FROM InOut IMPORT WriteString,WriteLn,WriteInt;
- FROM Strings IMPORT Length,RightStr;
-
- FROM GEMVDIBase IMPORT VDIWorkInType,VDIWorkOutType;
- FROM VDIControls IMPORT OpenVirtualWorkstation,CloseVirtualWorkstation;
-
-
- VAR ENDE : BOOLEAN;
- menueadresse : ADDRESS;
- id,i,j,handle : INTEGER;
- RSCfileName : ARRAY[1..12] OF CHAR;
- RetChar : CHAR;
- OK : BOOLEAN;
- MaxX,MaxY : INTEGER;
- command,tail : ARRAY[0..255] OF CHAR;
- WorkIn : VDIWorkInType;
- WorkOut : VDIWorkOutType;
- WC,HC,WB,HB : INTEGER;
-
- PROCEDURE Auswahl;
-
- VAR
- mBuf :ARRAY [0..7] OF INTEGER;
- formret,msgret : INTEGER;
- events,flag,mx,my,mbutton,mstate,scancode,mclicks:INTEGER;
- String : ARRAY [1..120] OF CHAR;
- BEGIN
- flag :=MesageEvent+TimerEvent+KeyboardEvent;
- REPEAT
- ENDE := FALSE;
-
- events:=EventMultiple(flag,0,0,0,0,0,0,0,0,0,0,0,0,0,
- ADR(mBuf),10000,0,(* Timer Event*)
- mx,my,
- mbutton,mstate,scancode,mclicks);
- IF (events=MesageEvent)THEN
- msgret :=mBuf[4];
- IF mBuf[0]=MenuSelected THEN
- ENDE := MenueEreignis(msgret,menueadresse);
- END(*IF*);
- END(*IF*);
- IF (events=TimerEvent) THEN
- (**********************************************************************************************************)
- (*String :='[0][ TimerEvent | Nur zum Test!!!!! | Christian Ledermann| ver 0.0 vom 25.02.93 ][ OK ]';*)
- (*formret:=FormAlert(1,String); *)
- (**********************************************************************************************************)
- END(*IF*);
- IF (events=KeyboardEvent) THEN
- IF ~MenuSearch(id,menueadresse,mstate,scancode,RetChar) THEN
- (* Eigene Tastaturabfrage*)
- IF RetChar=33C THEN (* ESC-Taste gedrückt!*)
- (* Sehr praktisch wenn man mit dem Debugger arbeitet *)
- (* Im Normalfall erscheint wenn man den Debugger verlässt *)
- (* das Menü des M2Loaders. Nach einem Druck auf die ESC-Taste *)
- (* ist nun das eigene Menü wieder da, ausserdem wird ein *)
- (* Redraw für den ganzen Bildschirm erzwungen *)
-
- (* Menü auschalten *)
- MenuBar(menueadresse,0);
- (* Hier wird ein Kommplett Redraw erzwungen ! *)
- FormDialogue(FormStart,0,0,0,0,0,0,MaxX,MaxY);
- FormDialogue(FormFinish,0,0,0,0,0,0,MaxX,MaxY);
- (* Menü wieder einschalten *)
- MenuBar(menueadresse,1);
-
- END(*IF*);
- END(*IF*);
- END(*IF*);
- UNTIL ENDE
- END Auswahl;
-
- BEGIN
- id := ApplInitialise();
- RSCfileName :='BierKass.rsc';
- ResourceLoad(RSCfileName);
- ResourceGetAddr(0,MENUE,menueadresse);
- ShellRead(ADR(command),ADR(tail));
- IF Length(tail)>0 THEN
- MenuItemEnable(menueadresse,EDIT,1);
- RightStr(tail,12,tail,OK);
- BierListeLaden(tail);
- END(*IF*);
- handle:=GrafHandle(WC,HC,WB,HB);
- FOR j:= 0 TO 9 DO WorkIn[j]:=0 END(*FOR*);
- WorkIn[10]:=2;
- OpenVirtualWorkstation(WorkIn,handle,WorkOut);
- MaxX:=WorkOut[0];
- MaxY:=WorkOut[1];
- MenuBar(menueadresse,1);
- InitPreferences;
- GrafMouse(Arrow,NIL);
- REPEAT
- OK:=GetDate();
- UNTIL OK;
- (*******HauptProgramm***)
- Auswahl;
- (*******ENDE***********)
- KillList(BierListe);
- ResourceFree;
- CloseVirtualWorkstation(handle);
- ApplExit;
- END BierKasse.
-